package com.ztgf.order.models.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.ztgf.order.models.bo.OrderShopStatisticsBO;
import com.ztgf.order.models.bo.OrderStatisticsBO;
import com.ztgf.order.models.vo.OrderShopAllTimeVO;
import com.ztgf.order.models.vo.OrderShopSalesToDayVO;
import com.ztgf.order.models.vo.OrderVariousItemsVO;
import com.ztgf.order.models.vo.OrderVariousShopItemsVO;

import java.util.List;
import java.util.Map;

/**
 * author: chenyu.wang
 * date: 2020-07-21 14:38
 * Description: 订单统计服务
 */
public interface IOrderStatisticsService {

    /**
     * description: 后台管理系统订单统计今日订单总量
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-21
     * return: java.lang.Integer
     */
    Integer queryOrderStatisticsToDay(OrderStatisticsBO bo);

    /**
     * description: 各类目整体订单统计
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-22
     * return: java.lang.Integer
     */
    Page<OrderVariousItemsVO> queryOrderVariousItems(OrderStatisticsBO bo);

    /**
     * description: 各类目店铺订单统计
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-22
     * return: com.baomidou.mybatisplus.plugins.Page<com.ztgf.order.models.vo.OrderVariousShopItemsVO>
     */
    Page<OrderVariousShopItemsVO> queryOrderVariousShopItems(OrderShopStatisticsBO bo);

    /**
     * description: 卖家个人中心店铺信息订单量统计
     * param: [shopId]
     * author: chenyu.wang
     * date: 2020-07-31
     * return: java.util.Map<java.lang.String,java.lang.String>
     */
    OrderShopSalesToDayVO queryStoreOrders(Long shopId);

    /**
     * description: 卖家个人中心店铺浏览量统计
     * param: [shopId]
     * author: chenyu.wang
     * date: 2020-08-01
     * return: java.util.Map<java.lang.String,java.lang.String>
     */
    OrderShopAllTimeVO queryShopViews(Long shopId);

    /**
     * @Description: 新的各类目订单统计，有订单的类目才显示
     * @Author: chenyu.wang
     * @Params: [bo]
     * @Date: 2020.12.27 22:12
     */
    Page<OrderVariousItemsVO> queryNewCategoryOrderCount(OrderStatisticsBO bo);
}
